import re
from core import cal_handle

ex=r'2 * ( (6-3 +(4/4) * (6-2*5/2 + 6/3*2/1*1 +2 * 10/2 ))- (4*3)/(16-2*2))'

#1.主逻辑代码
def  main_cal():
  calc_input = input("请输入计算公式,例如:%s：" %ex).strip()
  try:
    if len(calc_input) ==0:
      calc_input = a
    calc_input = r'%s'%calc_input # 做特殊处理，保持字符原形
    flag = True  # 初始化标志位
    result = None  # 初始化计算结果
    # 循环处理去括号
    while flag:
      inner = re.search("\([^()]*\)", calc_input)# 先获取最里层括号内的单一内容
      #print(inner.group())
      # 有括号时计算
      if inner:
        ret = cal_handle.calc_contrl(inner.group()) # 调用计算控制函数
        calc_input = calc_input.replace(inner.group(), str(ret)) # 将运算结果，替换原处理索引值处对应的字符串
        print("处理括号内的运算[%s]结果是：%s" % (inner.group(),str(ret)))
        #flag = True
      # 没有括号时计算
      else:
        ret = cal_handle.calc_contrl(calc_input)
        print("最终计算结果为：%s"% ret)
        #结束计算标志
        flag = False
  except:
    print("你输入的公式有误请重新输入！")